NeoVim as an ecosystem
-
Building an ecosystem :
-
Since everything is built on top of the same foundation, an "ecosystem" is created rather than a "set of tools".
-
This helps learning new tools, since they are built on top of something familiar.
-
This is not necessarily true, since many plugins do so much that they require learning from scratch, with shortcuts that override previous behavior.
-
-
-
Customizing the look, creating a harmonious visual :
-
Since everything is in the same place, themes tend to give a comfortable and uniform look, creating the feeling of a deep ecosystem.
-
-
More expansive :
-
Making a CLI tool feels super complex due to OSes, languages, etc. Besides, it often lacks a well-defined use case because it's ultra niche.
-
However, making a plugin for NeoVim feels considerably simple, since it's done in Lua (Roblox, WoW).
-
The fact that NeoVim can use high-level abstractions for plugin creation puts it FAR ahead in terms of expansiveness and customization of plugins, etc.
-
Maybe this is one of the main downsides regarding terminal use, since it's simply too niche and inaccessible due to complexity and awful programming languages.
-
Over time a CLI tool might start to look like closed-source software in terms of difficulty of modification and customization.
-
Obviously CLI tools tend to be customizable, but still don't feel particularly appetizing as an ecosystem.
-
-
-
Impractical for some uses common to me :
-
Markdown:
-
Writing and manipulating notes makes more sense to be done in NeoVim, using NeoVim's file structure, because of plugins, macros, etc.
-
-
-
Nvim has less volatile compatibility :
-
Nvim is well-established, and since the massive majority of plugins don't depend on other tools, the Nvim tool ecosystem is naturally more compatible than a bundle of CLI tools.
-
-
Terminal multiplexers incompatible on Windows :
-
TMux and Zellij have no native support for Windows.
-
TMux needs WSL.
-
Zellij on Windows is experimental.
-
-
Terminal tools give a disappointing workflow :
-
Except for Broot .
-
See the reviews .
-
~eza
-
~tlrs
-
zoxide. -
fzf. -
bat
-
Terminal + CLI tools + NeoVim
-
-
"Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features"."
-
"Expect the output of every program to become the input to another, as yet unknown, program."
-
-
Overload of modes and Shortcuts; hierarchical system :
-
Nvim has 3 modes: Normal, Insert and Visual. There are other modes, but everything is fundamentally based on these.
-
The problem is that many plugins use these modes to create IDE-like interfaces and experiences, but that can make it clunky to switch modes while editing a window where it doesn't make sense.
-
Nvim shortcuts are "good" for text editing, but many plugins edit these shortcuts so configured behavior can be overwritten by the plugin, or vice versa.
-
Combining the 'modes' problem with the shortcuts problem creates an environment that feels unpredictable , so sometimes I'm not sure what to expect when installing a new plugin.
-
Every new tool brings this insecurity, but since plugins run on top of Nvim and not beside it, it makes things more unpredictable than usual.
-
Feels like a classic hierarchy vs component pattern problem, since everything is built inheriting Nvim's default behavior, etc.
-
-